1. Field of the Invention
The present invention relates generally to a data deployment system for deploying data from a deployment-source device to a deployment-destination device, and more particularly to deployment of a differential part that is an updated part of data.
2. Description of the Related Art
In recent years, there has been proposed a method for taking countermeasures against leaks or security incidents such as theft or loss of information devices that are taken out of, for instance, companies. In this method, a pre-confirmed or a pre-authorized deployed (copy) image is used as a disk volume image including, e.g. an OS (Operating System) and an application. According to this method, data which is created or saved outside a company is erased if the information device is powered off. Data, which requires to be saved, is transferred to the company over a network and is saved, or is saved by using a method such as a secret sharing scheme.
As a technique of deploying (copying) such a volume image from the deployment-source to the deployment-destination, use can be made of a deployment method for uniformizing system images of many PCs (Personal Computers), for example, in a computer training room of a school or in a call center.
For example, a deployment-source device reads in a volume image which is stored in a database (e.g. a storage medium such an HDD) that is included in this deployment-source device, and transfers the volume image to the deployment-destination device via a communication network. In the deployment-destination device, the transferred volume image is written in a database of the deployment-destination device. The deployment-source device is an information processing device which creates a disk volume image (master image) which is to be deployed. On the other hand, the deployment-destination device is an information processing device to which, for example, the disk volume image that is created by the deployment-source device is deployed.
Now assume the case in which the volume image that is stored in the database of the deployment-source device has been updated. Even in this case, the entirety of the volume image is transferred to the deployment-destination device, for example, regardless of the presence/absence of update of each of blocks (divisional fragmentary parts of the volume image) that constitute the volume image. Since even a non-updated one of the blocks that constitute the volume image, for instance, is also transferred, the speed of the deployment process decreases.
To cope with this problem, a differential transfer technique is known, which is a technique of executing the deployment process at a higher speed by executing a process relating to only the updated block. An example of the differential transfer technique is a technique (hereinafter referred to as “first technique”) of detecting an updated block by making use of an update map relating to each of the blocks that constitute the volume image.
Another example of the differential transfer technique is a technique (hereinafter referred to as “second technique”) of detecting an updated block by comparing identifiers, such as hash values, of data of each of the blocks constituting the volume image, at the transfer (deployment) source or destination. In the second technique, identifiers of fragments (blocks) of the current volume images (the volume images currently stored in the database of the deployment-source device and the database of the deployment-destination device) are generated in the deployment-source device and the deployment-destination device. For example, the volume image is read in units of sectors of a fixed size, and the associated hash value is generated. For example, in the deployment-source device, the corresponding hash values (identifiers) are compared, and the data of the sector, with respect to which the corresponding hash values are different, is transferred to the deployment-destination device, and the corresponding data is overwritten. According to the second technique, the updated part (hereinafter referred to as “differential part”) of the volume images stored in the deployment-source device and deployment-destination device can be detected on the basis of the difference between the identifiers.
By the above-described differential transfer technique, in the case where the volume in the deployment-source device has been updated, it is possible to realize the transfer of only the differential part without the transfer of the entirety of the volume image.
As regards the above-described differential transfer technique, a technique, which is suited to reduction in time that is needed for replication, is disclosed (see Jpn. Pat. Appln. KOKAI Publication No. 2006-268740). According to this technique, a backup medium is transferred to a replication destination, backup is executed from a backup device, and only differential data is copied.
In the differential transfer technique, like the above-described first technique, however, in a case where a plurality of transfer-destination PCs (deployment-destination devices) are present and the transfer-destination PCs have a plurality of volume images of different versions, it is necessary to manage a differential map in accordance with each version. In addition, if a differential map of an arbitrary version is missing, it is absolutely impossible to recover volume images of the versions which follow the missing version. In this case, since a differential part of the volume image that is updated in the deployment-source device cannot be transferred, the deployment-destination device needs to read in the entirety of the volume image that is deployed. Moreover, since a differential part cannot be transferred if the differential map is missing, it is not possible to easily discard (erase), for instance, even the differential map of the old version.
On the other hand, the differential transfer technique, like the above-described second technique, requires the identifiers of the volume images of the transfer source (deployment-source) and transfer destination (deployment-destination) at the time point of, for example, starting deployment. Thus, at the time point of starting deployment, it is necessary to read in the entirety of the volume image in each of the transfer source and transfer destination and to execute a process of generating the identifiers of the volume images. At this time, for example, if the speed of access to the communication path is sufficiently higher than the speed of access to the database of the deployment-source device or deployment-destination device, the process of reading in the entirety of the volume image results in a bottleneck. As a result, the advantageous effect of the increase in speed of the deployment process by the differential transfer decreases.